1. Field of the Invention
The present invention relates to an information processing apparatus, a print setting method, and a computer program.
2. Description of the Related Art
Generally, in a printing system including a host computer and a printer, a printer driver included in the host computer specifies various print settings such as paper sizes and paper types. However, the printer driver cannot set all the combinations of these print settings. For example, if the setting value for the paper type represents “photo paper,” printing can only be executed on the front side of the paper. Namely, this setting cannot be combined with two-sided printing. Thus, among a plurality of print setting items, if a combination of setting values that cannot coexist between print setting items is generated, inconsistency is caused between the setting values. To avoid such inconsistency, the printer driver sets the dependence relationship among the print setting items. In the following description, such inconsistency between setting values will be referred to as a conflict, as needed. Based on the dependence relationship among the print setting items, a setting value for a certain print setting item limits setting values that can be set for other print setting items. Namely, if the paper type “photo paper” limits the setting of two-sided printing to “OFF,” the paper type is a print setting item having a higher priority than the print setting item “two-sided printing.”
The printer driver includes a user interface (print setting user interface (UI)) for receiving print settings from a user. The printer driver refers to the print settings set via this print setting UI and determines whether a conflict is caused between setting values, based on priorities uniquely held by the printer driver. If a conflict is found between setting values, the printer driver forcibly changes a setting value having the lower priority. Alternatively, the printer driver notifies the user of occurrence of the conflict and requests the user to change the print settings. In this way, the printer driver resolves the conflict.
In addition, to realize printing irrespective of the priorities of the print settings uniquely held by the printer driver, Japanese Patent Application Laid-Open No. 2010-40002 discusses a method of allowing a user to specify priority print settings. According to this method, the printer driver has a method of fixing print settings, in view of conflict rules avoiding a conflict of print settings. If a print setting is fixed, the priority thereof in the conflict rules can be set to be higher than the previous priority.
However, the printer driver cannot always provide a method of notifying the user of occurrence of a conflict, changing print settings, or specifying priorities desired by the user. Recently, the number of people wishing to execute printing with a small communication terminal such as a mobile terminal has been rapidly increasing. Normally, if a user executes printing with a personal computer and a printer, a printer driver corresponding to the printer needs to be previously installed in the personal computer. Thus, printer vendors provide printer drivers corresponding to various types of operating system (OS), such as “Windows (registered trademark)” and “Mac OS (registered trademark),” installed in personal computers.
Generally, an OS installed in a small communication terminal such as a mobile terminal does not have a mechanism for installing a printer driver. This is because, unlike that in a personal computer, the memory capacity that can be installed in a mobile terminal is limited. Even if an OS installed in a mobile terminal has a mechanism for installing a printer driver, it is difficult to install printer drivers provided by printer vendors in a mobile terminal. Thus, it is necessary to achieve a method for executing printing from a mobile terminal independent of printer drivers.
Generally, two processes are conceivable to realize printing from an apparatus in which no printer driver is installed. In the first printing process, a mobile terminal generates print data and directly sends the data to a printer. In this mode, to realize direct data exchange between the mobile terminal and the printer, the printer driver needs to have a special mechanism, instead of a mechanism that is independent of printer drivers. It is difficult to easily realize such mechanism.
In the second printing process, a host computer connected to a printer functions as a print server. More specifically, the host computer receives print data via a print request from a mobile terminal via a network. Based on the print data, a printer driver included in the host computer generates a print job suitable for the printer and sends the print job to the printer. In this mode, a mechanism that is the same as a network printing system in which a plurality of host computers share a printer on a network can be used. Thus, unlike the above first printing process, the second printing process can be realized easily by using an existing printer. In a general network printing system, a printer driver corresponding to a printer to be used needs to be installed in advance in a host computer used as a client.
If a client is a mobile terminal and if a printer driver corresponding to a printer to be used is not installed in the mobile terminal, the mobile terminal often uses a general-purpose application provided by a printer vendor to execute printing that is independent of printer drivers. Such general-purpose applications that can operate in mobile terminals are different from printer drivers produced specifically for corresponding printer models. Namely, such general-purpose application cannot completely grasp all the functions of a printer and includes only a general-purpose print setting UI. Accordingly, such a general-purpose application cannot set functions unique to the printer. Thus, print data generated by the client may be insufficient. For example, the print data may lack necessary print setting information or a conflict of setting values among print setting items may remain. To solve such problems, when a printer driver installed in a print server receives print data generated by a client, the printer driver executes a process of supplementing the insufficient print setting information or a process of resolving a conflict of setting values among print setting items.
However, even if the printer driver in the print server notifies the user of occurrence of a conflict and prompts the user to change a print setting, there are cases where the general-purpose application of the client cannot change the target setting item. In such case, since the user cannot change the print setting, the conflict of setting values among the print setting items cannot be resolved. In addition, there are general-purpose applications that cannot notify users of error information sent from print servers. In this case, even if the print server supplies the client with conflict information as an error message, the client cannot recognize the error message and stoppage of printing. Namely, the user cannot recognize why printing cannot be completed.
In addition, in a local printing system where a single host computer and a single printer are connected to each other, some of the programs or applications issuing a print request directly execute print processing, without using a print setting UI of a printer driver. In this case, too, in the mode where the printer driver notifies information indicating occurrence of a conflict of setting values among print settings or information prompting resetting of print settings, the user may not be sure about a method of changing the print settings.